#ifndef AMT_WON_LOST_HAND_INFO_BUILDER_H
#define AMT_WON_LOST_HAND_INFO_BUILDER_H

#include "HandInfoBuilder.h"

enum ActionState{
	CLEAN,
	DIRTY,
	OUT
};

class StateContainer {
private:
	ActionState state_;
public:
	StateContainer();

	map<Street,float> gainLossMap;

	ActionState State(){ return state_;};
	void State(ActionState state) {state_ = state;};
};

class AmtWonLostHandInfoBuilder : public HandInfoBuilderBase
{
private:
	void InitializeMap(map<string,StateContainer> &stateMap, const Hand &hand);
	float ModifyAction(map<string,StateContainer> &stateMap, Action &action, float amtToCall, 
		const Hand &hand, bool &raiseRoldFlag);
	void RefreshMap(map<string,StateContainer> &stateMap);
public:
	virtual void Fill(HandInfo &handInfo, const Hand &hand);
};

#endif